iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
自我挑戰組

利用生成式AI等工具來學習資安系列 第 2

Day 2 快速掌握 OWASP Top10 與 MITRE ATT&CK 要點

  • 分享至 

  • xImage
  •  

快速讀懂 OWASP Top10(2021):每一項一句話定義 + 一個簡單檢測/測試步驟(只在你可控的 lab 做)。

掌握 MITRE ATT&CK 的核心戰術與 5 個常見技術(理解「攻擊為何這樣做」與對應緩解)。

OWASP Top10(每項一句話 + 一個測試步驟)

Broken Access Control(失敗的存取控制):未正確限制使用者可做的操作。
測試:以低權限帳號嘗試存取或修改受限資源(修改 ID、水平越權)。

Cryptographic Failures(加密失敗):機密資料未以安全方式儲存或傳輸。
測試:檢查敏感欄位是否以明文或弱加密存放;查看傳輸是否使用 TLS。

Injection(注入):未淨化輸入導致 SQL/命令/模板等被注入執行。
測試:嘗試基本 payload(例如 ' OR '1'='1)或使用 sqlmap(僅在 lab)。

Insecure Design(不安全的設計):設計階段缺乏安全考量(整體風險)。
測試:檢視功能流程(例如密碼重設流程),確認是否有設計缺陷被利用。

Security Misconfiguration(配置錯誤):伺服器或應用配置不當(預設憑證、目錄列舉)。
測試:掃描常見錯誤配置(HTTP headers、開放管理介面)。

Vulnerable and Outdated Components(過時元件):使用含已知漏洞的庫或服務。
測試:列出依賴並比對已知 CVE(如用 pip list --outdated 或 SBOM)。

Identification and Authentication Failures(身分/認證失敗):認證流程弱或可繞過。
測試:檢查密碼重試、登入旁路、session 固定或無 MFA。

Software and Data Integrity Failures(軟體/資料完整性):無驗證來源就執行更新或依賴。
測試:檢查自動更新或外部資源是否有簽章/驗證步驟。

Security Logging and Monitoring Failures(日誌與偵測不足):缺乏有效日誌或告警,攻擊無從得知。
測試:模擬簡單攻擊(登入異常)並確認是否有可用日誌與告警。

Server-Side Request Forgery (SSRF):伺服器替攻擊者發起任意請求(內網掃描/存取)。
測試:嘗試讓伺服器請求一個你控制的回收 URL(在 lab 中模擬)。

MITRE ATT&CK:5 個常見技術(解釋 + 緩解)

Initial Access — Phishing (T1566):用電子郵件誘使使用者點擊連結或開附件以取得初始進入。
緩解:MFA、郵件過濾、使用者訓練與模擬測試。

Execution — Command and Scripting Interpreter (T1059):利用腳本或 shell 執行命令(如 PowerShell、bash)。
緩解:限制可執行的腳本、啟用指令白名單、進行命令行審計。

Persistence — Registry Run Keys / Startup Folder (T1547):設定開機自啟或註冊表鍵以持久化。
緩解:監控開機項變更、限制權限、白名單管理軟體。

Credential Access — Credential Dumping (T1003):擷取已儲存或快取的密碼/雜湊。
緩解:使用 LSA protection、限制管理權限、啟用受保護憑證儲存。

Lateral Movement — Remote Services (RDP/SMB) (T1021):利用遠端服務移動到其他主機。
緩解:網段隔離、VPN/跳板限制、紀錄與異常存取偵測。

我請ChatGPT在本地部署 OWASP Juice Shop 或 DVWA,嘗試找出一個簡單漏洞(XSS/SQLi),收到步驟:

A. 推薦:用 Docker 啟動 OWASP Juice Shop

  1. 啟動(需已安裝 Docker):
    # 下載並在背景執行 docker run --rm -p 3000:3000 bkimminich/juice-shop
  2. 開瀏覽器到 http://localhost:3000
  3. 找 XSS(範例流程):
    點「Search」或任一可輸入文字的欄位(例如留言、反饋)。
    在輸入欄貼入簡單反射 XSS payload:
    <script>alert('xss')</script>
    送出,若頁面跳出 alert 即為成功(截圖 alert 與輸入欄)。
    B. 替代:用 Docker 啟動 DVWA
  4. 啟動(需 Docker 與 Docker Compose):
    # 拉官方範例 compose(若沒有 compose 檔可用簡易一行版) docker run --rm -p 80:80 vulnerables/web-dvwa
  5. 開瀏覽器到 http://localhost(或 http://localhost/setup.php 完成 DB 設定)。
  6. 找 SQLi(簡單流程):
    進入 DVWA → SQL Injection → 目標為 “User ID” 欄位。
    在輸入欄輸入簡單 payload:1' OR '1'='1,送出。
    若回傳大量紀錄或登入成功,即為 SQLi(截圖請包含輸入與回應結果)。

今天是第二天:我快速複習了 OWASP Top10 與 MITRE ATT&CK 重點,並在本地部署 Juice Shop 實作 XSS 測試。透過實際輸入 payload 與觀察回應,我更能辨識反射性 XSS 的行為與修補方式,也體會到在受控環境測試的重要性。明天打算用 AI 幫我記錄解題流程並優化報告格式。


上一篇
Day 1 — 目標與工具準備:定義學習目標、安裝工具。產出:學習目標與工具清單。
系列文
利用生成式AI等工具來學習資安2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言